package com.group5.baseline.user.pojo;

import java.util.Date;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 管理员的表(Admin)实体类
 *
 * @author makejava
 * @since 2021-06-17 11:27:13
 * @version 1.0
 */
@ApiModel(value = "Admin",description = "管理员的表")
public class Admin implements Serializable {
    private static final long serialVersionUID = 185302069603905177L;
    /**
    * 管理员表主键id
    */
	@ApiModelProperty(name = "id",notes = "管理员表主键id",dataType = "Integer",required = true)
    private Integer id;
    /**
    * 管理员登录名
    */
	@ApiModelProperty(name = "adminName",notes = "管理员登录名",dataType = "String",required = true)
    private String adminName;
    /**
    * 管理员登录密码
    */
	@ApiModelProperty(name = "adminPwd",notes = "管理员登录密码",dataType = "String",required = true)
    private String adminPwd;
    /**
    * 管理员联系方式-手机号
    */
	@ApiModelProperty(name = "adminPhone",notes = "管理员联系方式-手机号",dataType = "Long",required = true)
    private Long adminPhone;
    /**
    * 状态：1 正常 0 锁定
    */
	@ApiModelProperty(name = "adminStatus",notes = "状态：1 正常 0 锁定",dataType = "Integer",required = true)
    private Integer adminStatus;
    /**
    * 最后登录时间
    */
	@ApiModelProperty(name = "lastLoginTime",notes = "最后登录时间",dataType = "Date",required = true)
    //接收字符串日期，转换为Date对象，前端必须传递“2020-06-15 01:01:01”这样的格式
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // 下面是服务器响应返回的内容，如果没有格式化转换，那么返回的内容是长毫秒数，接受MySQL数据库中的数据也需要设置东八区+8时
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT + 8")
    private Date lastLoginTime;
    /**
    * 创建时间
    */
	@ApiModelProperty(name = "createTime",notes = "创建时间",dataType = "Date",required = true)
    //接收字符串日期，转换为Date对象，前端必须传递“2020-06-15 01:01:01”这样的格式
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // 下面是服务器响应返回的内容，如果没有格式化转换，那么返回的内容是长毫秒数，接受MySQL数据库中的数据也需要设置东八区+8时
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT + 8")
    private Date createTime;
    /**
    * 更新时间
    */
	@ApiModelProperty(name = "updateTime",notes = "更新时间",dataType = "Date",required = true)
    //接收字符串日期，转换为Date对象，前端必须传递“2020-06-15 01:01:01”这样的格式
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    // 下面是服务器响应返回的内容，如果没有格式化转换，那么返回的内容是长毫秒数，接受MySQL数据库中的数据也需要设置东八区+8时
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT + 8")
    private Date updateTime;
    /**
    * 是否删除：0未删除，1 已删除
    */
	@ApiModelProperty(name = "isDeleted",notes = "是否删除：0未删除，1 已删除",dataType = "Integer",required = true)
    private Integer isDeleted;

    /**
     * 添加权限字段
     */
    private String auth;

    // 首先IOC容器，默认会基于无参的构造器初始化，如果我们手动创建了有参的构造器以后，按照java的规范，默认的默认构造器就会丢失，所以为了避免丢失，我们显式的写出无参构造器，保证IOC容器管理正常
    public Admin() {}

    public Admin(String adminName, String adminPwd) {
        this.adminName = adminName;
        this.adminPwd = adminPwd;
    }

    public String getAuth() {
        return auth;
    }

    public void setAuth(String auth) {
        this.auth = auth;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
        
    public String getAdminName() {
        return adminName;
    }

    public void setAdminName(String adminName) {
        this.adminName = adminName;
    }
        
    public String getAdminPwd() {
        return adminPwd;
    }

    public void setAdminPwd(String adminPwd) {
        this.adminPwd = adminPwd;
    }
        
    public Long getAdminPhone() {
        return adminPhone;
    }

    public void setAdminPhone(Long adminPhone) {
        this.adminPhone = adminPhone;
    }
        
    public Integer getAdminStatus() {
        return adminStatus;
    }

    public void setAdminStatus(Integer adminStatus) {
        this.adminStatus = adminStatus;
    }
        
    public Date getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(Date lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }
        
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
        
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
        
    public Integer getIsDeleted() {
        return isDeleted;
    }

    public void setIsDeleted(Integer isDeleted) {
        this.isDeleted = isDeleted;
    }

}